﻿<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPages/Principal.master" AutoEventWireup="true"
    CodeFile="Inventario.aspx.cs" Inherits="Inventario" %>

<%@ Register Src="MenusDePagina/WebUserControlMenuAdministracion.ascx" TagName="WebUserControlMenuAdministracion"
    TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="Server">
    <uc1:WebUserControlMenuAdministracion ID="WebUserControlMenuAdministracion1" runat="server" />
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <h1>
        Inventarios</h1>
    <div id="Contenedor">
    <asp:FormView ID="FormViewInventario" runat="server" DataSourceID="ObjectDataSourceInventario"
        DefaultMode="Insert" HorizontalAlign="Center" OnItemInserted="FormViewInventario_ItemInserted"
        Visible="False" Width="314px" DataKeyNames="Codigo">
        <InsertItemTemplate>
            <table class="detalle">
                <thead>
                    <tr>
                        <td colspan="2">
                            Adicionar movimiento</td>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>
                            Tipo
                        </td>
                        <td>
                            <asp:DropDownList ID="DropDownListTipoDeIngrediente" runat="server" DataSourceID="ObjectDataSourceTipoDeIngrediente"
                                DataTextField="Nombre" DataValueField="Codigo" AppendDataBoundItems="True" OnSelectedIndexChanged="DropDownListTipoDeIngrediente_SelectedIndexChanged"
                                AutoPostBack="true">
                                <asp:ListItem Value="0" Selected="True">---Selecciona Tipo---</asp:ListItem>
                            </asp:DropDownList>
                            <asp:ObjectDataSource ID="ObjectDataSourceTipoDeIngrediente" runat="server" SelectMethod="consultarTiposDeIngrediente"
                                TypeName="Libreria.SIG.Negocio.TipoDeIngredienteNegocio">
                                <SelectParameters>
                                    <asp:SessionParameter Name="cadenaDeConexion" SessionField="CadenaDeConexion" Type="String" />
                                </SelectParameters>
                            </asp:ObjectDataSource>
                        </td>
                        <tr>
                            <td>
                                Ingrediente:
                            </td>
                            <td>
                                <asp:DropDownList ID="DropDownListIngredientes" runat="server" DataTextField="nombre"
                                    DataValueField="codigo" OnSelectedIndexChanged="DropDownListIngredientes_SelectedIndexChanged"
                                    AutoPostBack="True">
                                    <asp:ListItem Value="0" Text="-- Seleccionar ingrediente --"></asp:ListItem>
                                </asp:DropDownList>
                                <asp:RequiredFieldValidator ID="RequiredFieldValidatorInstructor" runat="server"
                                    ControlToValidate="DropDownListIngredientes" ErrorMessage="Seleccionar el ingrediente es obligatorio"
                                    InitialValue="0" ValidationGroup="Validadores">*</asp:RequiredFieldValidator>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                Fecha:
                            </td>
                            <td>
                                <asp:Label ID="LabelFechaInventario" runat="server" Text='<%# String.Format("{0:yyyy/MM/dd}",DateTime.Now) %>'></asp:Label>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                Cantidad:
                            </td>
                            <td>
                                <asp:TextBox ID="CantidadTextBox" runat="server" Text='<%# Bind("Cantidad") %>' 
                                    MaxLength="6" />
                                <asp:RequiredFieldValidator ID="RequiredFieldValidatorCantidad" runat="server" ControlToValidate="CantidadTextBox"
                                    ErrorMessage="La cantidad del producto es obligatoria" ValidationGroup="Validadores">*</asp:RequiredFieldValidator>
                                <asp:CompareValidator ID="CompareValidatorCantidad" runat="server" ControlToValidate="CantidadTextBox"
                                    ValueToCompare="0" Operator="LessThanEqual" ValidationGroup="Validadores" ErrorMessage="Cantidad no permitida">*</asp:CompareValidator>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                Movimiento:
                            </td>
                            <td style="margin-left: 40px">
                                <asp:DropDownList ID="DropDownListTiposMovimiento" runat="server" SelectedValue='<%# Bind("TipoMovimiento") %>'
                                    AutoPostBack="true" OnSelectedIndexChanged="DropDownListTiposMovimiento_SelectedIndexChanged">
                                    <asp:ListItem Value="-">-- Seleccionar tipo de movimiento --</asp:ListItem>
                                    <asp:ListItem Value="E">Entrada</asp:ListItem>
                                    <asp:ListItem Value="S">Salida</asp:ListItem>
                                </asp:DropDownList>
                                <asp:RequiredFieldValidator ID="RequiredFieldValidatorTiposMovimiento" runat="server"
                                    ControlToValidate="DropDownListTiposMovimiento" ErrorMessage="Seleccionar el tipo de movimiento es obligatorio"
                                    InitialValue="-" ValidationGroup="Validadores">*</asp:RequiredFieldValidator>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Label ID="LabelExis" runat="server" Text='Existencia:'></asp:Label>
                            </td>
                            <td>
                                <asp:Label ID="LabelExistencia" runat="server" Text=''></asp:Label>
                                <asp:HiddenField ID="HiddenFieldCodigoIngrediente" runat="server" Value='<%# Bind("CodIngrediente") %>' />
                                <asp:HiddenField ID="HiddenFieldTipoDeIngrediente" runat="server" />
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Label ID="LabelCtrlInventario" runat="server" Text='Control Inventario:'></asp:Label>
                            </td>
                            <td>
                                <asp:Label ID="LabelControlInventario" runat="server" Text=''></asp:Label>
                            </td>
                        </tr>
                        <tr id="trCostoUnitario">
                            <td>
                                <asp:Label ID="LabelCostoUnitario" runat="server" Text='CostoUnitario:'></asp:Label>
                            </td>
                            <td>
                                <asp:TextBox ID="CostoUnitarioTextBox" runat="server" Text='<%# Bind("CostoUnitario") %>' />
                                <asp:RequiredFieldValidator ID="RequiredFieldValidatorCostoUnitario" runat="server"
                                    ControlToValidate="CostoUnitarioTextBox" ErrorMessage="El costo unitario es obligatorio."
                                    ValidationGroup="Validadores">*</asp:RequiredFieldValidator>
                            </td>
                        </tr>
                        <tr id="trCostoTotal">
                            <td>
                                <asp:Label ID="LabelCostoTotal" runat="server" Text='CostoTotal:'></asp:Label>
                            </td>
                            <td>
                                <asp:TextBox ID="CostoTotalTextBox" runat="server" ReadOnly="true" />
                            </td>
                        </tr>
                    </tbody>
                    <tfoot>
                        <tr>
                            <td colspan="2">
                                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                                    Text="Insertar" ValidationGroup="Validadores" />
                                &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False"
                                    CommandName="Cancel" Text="Cancelar" OnClick="InsertCancelButton_Click" />
                            </td>
                        </tr>
                    </tfoot>
            </table>
            &nbsp;
        </InsertItemTemplate>
    </asp:FormView>
    <p>
        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
            CellPadding="4" CssClass="detalle" DataSourceID="ObjectDataSourceInventario"
            ForeColor="#333333" GridLines="None" HorizontalAlign="Center" DataKeyNames="Codigo">
            <RowStyle BackColor="#EFF3FB" />
            <Columns>
                <asp:TemplateField ShowHeader="False">
                    <EditItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
                            Text="Actualizar"></asp:LinkButton>
                        &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
                            Text="Cancelar"></asp:LinkButton>
                    </EditItemTemplate>
                    <HeaderTemplate>
                        <asp:LinkButton ID="LinkButtonNuevo" runat="server" OnClick="LinkButtonNuevo_Click">Adicionar nuevo</asp:LinkButton>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Delete"
                            Text="Eliminar" OnClientClick="javascript:return ConfirmDel(this);"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Codigo" HeaderText="Codigo" ReadOnly="True" SortExpression="Codigo" />
                <asp:TemplateField HeaderText="Ingrediente" SortExpression="CodIngrediente">
                    <EditItemTemplate>
                        <asp:DropDownList ID="DropDownListIngredientes" runat="server" DataSourceID="ObjectDataSourceIngredientes"
                            DataTextField="nombre" DataValueField="codigo" SelectedValue='<%# Bind("CodIngrediente") %>'>
                        </asp:DropDownList>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:DropDownList ID="DropDownListIngredientes" runat="server" DataSourceID="ObjectDataSourceIngredientes"
                            DataTextField="nombre" DataValueField="codigo" SelectedValue='<%# Bind("CodIngrediente") %>'
                            Enabled="false">
                        </asp:DropDownList>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="TipoMovimiento" SortExpression="TipoMovimiento">
                    <EditItemTemplate>
                        <asp:DropDownList ID="DropDownListTiposMovimiento" runat="server" SelectedValue='<%# Bind("TipoMovimiento") %>'>
                            <asp:ListItem Value="E">Entrada</asp:ListItem>
                            <asp:ListItem Value="S">Salida</asp:ListItem>
                        </asp:DropDownList>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:DropDownList ID="DropDownListTiposMovimiento" runat="server" SelectedValue='<%# Bind("TipoMovimiento") %>'
                            Enabled="false">
                            <asp:ListItem Value="E">Entrada</asp:ListItem>
                            <asp:ListItem Value="S">Salida</asp:ListItem>
                        </asp:DropDownList>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Fecha" SortExpression="Fecha">
                    <EditItemTemplate>
                        <asp:Calendar ID="Calendar1" runat="server" BackColor="White" BorderColor="#3366CC"
                            BorderWidth="1px" CellPadding="1" DayNameFormat="Shortest" Font-Names="Verdana"
                            Font-Size="8pt" ForeColor="#003399" Height="200px" SelectedDate='<%# Bind("Fecha") %>'
                            Width="220px">
                            <SelectedDayStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
                            <SelectorStyle BackColor="#99CCCC" ForeColor="#336666" />
                            <WeekendDayStyle BackColor="#CCCCFF" />
                            <TodayDayStyle BackColor="#99CCCC" ForeColor="White" />
                            <OtherMonthDayStyle ForeColor="#999999" />
                            <NextPrevStyle Font-Size="8pt" ForeColor="#CCCCFF" />
                            <DayHeaderStyle BackColor="#99CCCC" ForeColor="#336666" Height="1px" />
                            <TitleStyle BackColor="#003399" BorderColor="#3366CC" BorderWidth="1px" Font-Bold="True"
                                Font-Size="10pt" ForeColor="#CCCCFF" Height="25px" />
                        </asp:Calendar>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("Fecha", "{0:dd/MM/yyyy}") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Cantidad" SortExpression="Cantidad" ItemStyle-HorizontalAlign="Right">
                    <EditItemTemplate>
                        <asp:TextBox ID="CantidadTextBox" runat="server" Text='<%# Bind("Cantidad") %>' Width="50" />
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="CantidadLabel" runat="server" Text='<%# Bind("Cantidad") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="CostoUnitario" HeaderText="CostoUnitario" SortExpression="CostoUnitario"
                    ItemStyle-HorizontalAlign="Right" />
                <asp:TemplateField HeaderText="CostoTotal" SortExpression="CostoTotal" ItemStyle-HorizontalAlign="Right">
                    <EditItemTemplate>
                        <asp:TextBox ID="CostoTotalTextBox" runat="server" Text='<%# Eval("CostoTotal") %>'
                            Width="100" ReadOnly="true" />
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="CostoTotalLabel" runat="server" Text='<%# Eval("CostoTotal") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <EmptyDataTemplate>
                No hay datos acerca de Inventarios<br />
                <asp:LinkButton ID="LinkButtonNuevo" runat="server" OnClick="LinkButtonNuevo_Click">Adicionar nuevo</asp:LinkButton>
            </EmptyDataTemplate>
            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#2461BF" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
        </div>
        <asp:ObjectDataSource ID="ObjectDataSourceInventario" runat="server" DeleteMethod="eliminarInventario"
            InsertMethod="crearInventario" SelectMethod="consultarInventarios" TypeName="Libreria.SIG.Negocio.InventarioNegocio"
            UpdateMethod="actualizarInventario">
            <DeleteParameters>
                <asp:Parameter Name="Codigo" Type="Int32" />
                <asp:Parameter Name="cadenaDeConexion" Type="String" />
            </DeleteParameters>
            <UpdateParameters>
                <asp:Parameter Name="Codigo" Type="Int32" />
                <asp:Parameter Name="CodIngrediente" Type="Int32" />
                <asp:Parameter Name="Fecha" Type="DateTime" />
                <asp:Parameter Name="Cantidad" Type="Int32" />
                <asp:Parameter Name="TipoMovimiento" Type="String" />
                <asp:Parameter Name="CostoUnitario" Type="Double" />
                <asp:Parameter Name="cadenaDeConexion" Type="String" />
            </UpdateParameters>
            <SelectParameters>
                <asp:SessionParameter Name="cadenaDeConexion" SessionField="CadenaDeConexion" Type="String" />
            </SelectParameters>
            <InsertParameters>
                <asp:Parameter Name="Codigo" Type="Int32" />
                <asp:Parameter Name="CodIngrediente" Type="Int32" />
                <asp:Parameter Name="Fecha" Type="DateTime" />
                <asp:Parameter Name="Cantidad" Type="Int32" />
                <asp:Parameter Name="TipoMovimiento" Type="String" />
                <asp:Parameter Name="CostoUnitario" Type="Double" />
                <asp:Parameter Name="cadenaDeConexion" Type="String" />
            </InsertParameters>
        </asp:ObjectDataSource>
        <asp:ObjectDataSource ID="ObjectDataSourceIngredientes" runat="server" SelectMethod="consultarIngredientes"
            TypeName="Libreria.SIG.Negocio.IngredienteNegocio">
            <SelectParameters>
                <asp:SessionParameter Name="CadenaDeConexion" SessionField="CadenaDeConexion" Type="String" />
            </SelectParameters>
        </asp:ObjectDataSource>
    </p>
    </div>
</asp:Content>
